#pragma once

#include "XiInclude.hpp"
#include "XiTokenKind.hpp"
#include "XiCharStream.hpp"

XI_NAMESPACE_BEGIN

struct XiToken
{
	XiTokenKind m_kind;
	XiCharStream::Location m_location;
	XiString m_text;

	explicit XiToken(XiTokenKind kind = TK_UNINITIALIZED)
	{
		m_kind = kind;
		m_location.m_line = 0;
		m_location.m_column = 0;
	}
};

XI_NAMESPACE_END